package com.xnew.entity.memberArchives;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.xnew.bean.common.SysOrgUserInfo;
import org.springframework.data.annotation.Transient;

import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
* @Author: Zhozh
* @Description: 其他公司高管信息表
* @DateTime: 2022/4/30
* @Params:
* @Return
*/

@TableName("t10_oth_orgtyp_excutv_info")
public class OthOrgtypExcutvInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
    * 高管信息编号
    */
    @TableId("excutv_info_no")
    private String excutvInfoNo;

    /**
    * 信息报送审核状态编码
    */
    private String infsubAuditStatusCode;

    /**
    * 机构用户编号
    */
    private String orgUserNo;

    /**
    * 学历编码
    */
    private String eduCode;

    /**
    * 性别编码
    */
    private String sexCode;

    /**
    * 高管职务
    */
    private String excutvDuty;

    /**
    * 高管姓名
    */
    private String excutvName;

    /**
    * 高管出生年月
    */
    private String excutvBirthYearMth;

    /**
    * 拥有 的从业资格
    */
    private String ownCrerQlfy;

    /**
    * 信息录入时间
    */
    private String infoInputTime;

    /**
    * 高管信息更新时间
    */
    private String excutvInfoUpdateTime;

    /**
    * 信息录入人编号
    */
    private String infoInputPsnNo;

    /**
    * 高管信息更新人编号
    */
    private String excutvInfoUpdatePsnNo;

    /**
    * 是否关闭状态
    */
    private String isCloseStatus;

    /**
    * 从事金融行业年限
    */
    private String goinFinInduYears;

    /**
    * 是否5年以上投资管理或资产管理经验
    */
    @TableField("is_more_5years_rmamexp")
    private String isMore5yearsRmamexp;

    /**
    * 是否在母公司或母公司其他子公司兼职
    */
    private String isParttmInPcospc;

    /**
    * 兼职描述
    */
    private String parttmJobDesc;

    /**
    * 业务类型编码
    */
    private String busiTypeCode;

    /**
     * 审核日志
     */
    @TableField(exist = false)
    private List<AuditLog> auditLogList;

    @TableField(exist = false)
    private SysOrgUserInfo sysOrgUserInfo;

    public List<AuditLog> getAuditLogList() {
        return auditLogList;
    }

    public void setAuditLogList(List<AuditLog> auditLogList) {
        this.auditLogList = auditLogList;
    }

    @TableField(exist = false)
    private List<MemInfoChgHist> histList;

    public List<MemInfoChgHist> getHistList() {
        return histList;
    }

    public void setHistList(List<MemInfoChgHist> histList) {
        this.histList = histList;
    }


    public OthOrgtypExcutvInfo() {
    }

    public String getExcutvInfoNo() {
        return excutvInfoNo;
    }

    public void setExcutvInfoNo(String excutvInfoNo) {
        this.excutvInfoNo = excutvInfoNo;
    }

    public String getInfsubAuditStatusCode() {
        return infsubAuditStatusCode;
    }

    public void setInfsubAuditStatusCode(String infsubAuditStatusCode) {
        this.infsubAuditStatusCode = infsubAuditStatusCode;
    }

    public SysOrgUserInfo getSysOrgUserInfo() {
        return sysOrgUserInfo;
    }

    public void setSysOrgUserInfo(SysOrgUserInfo sysOrgUserInfo) {
        this.sysOrgUserInfo = sysOrgUserInfo;
    }

    public String getOrgUserNo() {
        return orgUserNo;
    }

    public void setOrgUserNo(String orgUserNo) {
        this.orgUserNo = orgUserNo;
    }

    public String getEduCode() {
        return eduCode;
    }

    public void setEduCode(String eduCode) {
        this.eduCode = eduCode;
    }

    public String getSexCode() {
        return sexCode;
    }

    public void setSexCode(String sexCode) {
        this.sexCode = sexCode;
    }

    public String getExcutvDuty() {
        return excutvDuty;
    }

    public void setExcutvDuty(String excutvDuty) {
        this.excutvDuty = excutvDuty;
    }

    public String getExcutvName() {
        return excutvName;
    }

    public void setExcutvName(String excutvName) {
        this.excutvName = excutvName;
    }

    public String getExcutvBirthYearMth() {
        return excutvBirthYearMth;
    }

    public void setExcutvBirthYearMth(String excutvBirthYearMth) {
        this.excutvBirthYearMth = excutvBirthYearMth;
    }

    public String getOwnCrerQlfy() {
        return ownCrerQlfy;
    }

    public void setOwnCrerQlfy(String ownCrerQlfy) {
        this.ownCrerQlfy = ownCrerQlfy;
    }

    public String getInfoInputTime() {
        return infoInputTime;
    }

    public void setInfoInputTime(String infoInputTime) {
        this.infoInputTime = infoInputTime;
    }

    public String getExcutvInfoUpdateTime() {
        return excutvInfoUpdateTime;
    }

    public void setExcutvInfoUpdateTime(String excutvInfoUpdateTime) {
        this.excutvInfoUpdateTime = excutvInfoUpdateTime;
    }

    public String getInfoInputPsnNo() {
        return infoInputPsnNo;
    }

    public void setInfoInputPsnNo(String infoInputPsnNo) {
        this.infoInputPsnNo = infoInputPsnNo;
    }

    public String getExcutvInfoUpdatePsnNo() {
        return excutvInfoUpdatePsnNo;
    }

    public void setExcutvInfoUpdatePsnNo(String excutvInfoUpdatePsnNo) {
        this.excutvInfoUpdatePsnNo = excutvInfoUpdatePsnNo;
    }

    public String getIsCloseStatus() {
        return isCloseStatus;
    }

    public void setIsCloseStatus(String isCloseStatus) {
        this.isCloseStatus = isCloseStatus;
    }

    public String getGoinFinInduYears() {
        return goinFinInduYears;
    }

    public void setGoinFinInduYears(String goinFinInduYears) {
        this.goinFinInduYears = goinFinInduYears;
    }

    public String getIsMore5yearsRmamexp() {
        return isMore5yearsRmamexp;
    }

    public void setIsMore5yearsRmamexp(String isMore5yearsRmamexp) {
        this.isMore5yearsRmamexp = isMore5yearsRmamexp;
    }

    public String getIsParttmInPcospc() {
        return isParttmInPcospc;
    }

    public void setIsParttmInPcospc(String isParttmInPcospc) {
        this.isParttmInPcospc = isParttmInPcospc;
    }

    public String getParttmJobDesc() {
        return parttmJobDesc;
    }

    public void setParttmJobDesc(String parttmJobDesc) {
        this.parttmJobDesc = parttmJobDesc;
    }

    public String getBusiTypeCode() {
        return busiTypeCode;
    }

    public void setBusiTypeCode(String busiTypeCode) {
        this.busiTypeCode = busiTypeCode;
    }

    @Transient
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @TableField(exist = false)
    private Map<String, Object> dictNameResult = new HashMap<String, Object>();

    public Map<String, Object> getDictNameResult() {
        return dictNameResult;
    }

    public void setDictNameResult(Map<String, Object> dictNameResult) {
        this.dictNameResult = dictNameResult;
    }

    //数据字典
    @Transient
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public String[] buildIncludeField(){
        return new String[]{"infsubAuditStatusCode","excutvDuty","isCloseStatus","eduCode","sexCode","busiTypeCode","isMore5yearsRmamexp","isParttmInPcospc","auditLogList"};
    }

    /*数据字典*/
    @Transient
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public String[] buildIncludeType(){
        return new String[]{"DG0149","DG0435","DG0104","DG0074","DG0072","DG0219","DG0104","DG0104","LIST"};
    }
}